﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PACS.Data;
using System.Data;
using WoSoft.PACS.Data.Models;

namespace WoSoft.PACS.Data.Patient
{
    public class PatientData : Db
    {
        public DataTable GetAllData()
        {
            var dt = SqlDatabase.Sql("select * from v_个人信息").QuerySingle<DataTable>();
            return dt;
        }

        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Insert(PatientModel model)
        {
            //model.ID = Guid.NewGuid().ToString();
            model.建档日期 = DateTime.Now;
            return SqlDatabase.StoredProcedure("个人信息_ADD")
                .Parameter("ID", model.ID)
                .Parameter("姓名", model.姓名)
                .Parameter("简码", model.简码)
                .Parameter("性别", model.性别)
                .Parameter("出生日期", model.出生日期)
                .Parameter("身份证号", model.身份证号)
                .Parameter("工作单位", model.工作单位)
                .Parameter("本人电话", model.本人电话)
                .Parameter("电子邮件", model.电子邮件)
                .Parameter("联系人姓名", model.联系人姓名)
                .Parameter("联系人电话", model.联系人电话)
                .Parameter("常住类型", model.常住类型)
                .Parameter("户籍地址", model.户籍地址)
                .Parameter("现住址", model.现住址)
                .Parameter("邮政编码", model.邮政编码)
                .Parameter("民族", model.民族)
                .Parameter("文化程度", model.文化程度)
                .Parameter("职业", model.职业)
                .Parameter("婚姻状况", model.婚姻状况)
                .Parameter("医疗付款方式", model.医疗付款方式)
                .Parameter("建档人", model.建档人)
                .Execute();

        }

        //删除
        public bool Delete(string id)
        {
            return this.SqlDatabase.Delete("个人信息")
                .Where("ID", id)
                .Execute() > 0;
        }


        //获取ID信息
        public PatientModel GetModelByID(string ID)
        {
            var sql = "select * from 个人信息 where ID = @id";
            var dyobj = this.SqlDatabase.Sql(sql, null)
                .Parameter("id", ID)
                .QuerySingle<dynamic>();
            if (dyobj != null)
            {
                return new PatientModel()
                {
                    ID = dyobj.ID,
                    姓名 = dyobj.姓名,
                    简码 = dyobj.简码,
                    性别 = dyobj.性别,
                    出生日期 = dyobj.出生日期 != null ? dyobj.出生日期 : string.Empty,
                    身份证号 = dyobj.身份证号,
                    工作单位 = dyobj.工作单位,
                    本人电话 = dyobj.本人电话,
                    电子邮件 = dyobj.电子邮件,
                    联系人姓名 = dyobj.联系人姓名,
                    联系人电话 = dyobj.联系人电话,
                    常住类型 = dyobj.常住类型,
                    户籍地址 = dyobj.户籍地址,
                    现住址 = dyobj.现住址,
                    邮政编码 = dyobj.邮政编码,
                    民族 = dyobj.民族,
                    职业 = dyobj.职业,
                    婚姻状况 = dyobj.婚姻状况,
                    医疗付款方式 = dyobj.医疗付款方式,
                    建档人 = dyobj.建档人,
                    建档日期 = dyobj.建档日期
                };
            }

            return null;
        }
    }
}
